Denne posten er slidene til et veldig kort kurs jeg holdt på ISF for nybegynnere i R. Jeg har ikke skrevet ut kurset, så dette er bare punktene fra presentasjonen jeg brukte og koden i chunkene.
Fila som lager denne nettsida og en powerpointpresentasjon er til gjengelig her og powerpointen er her.
R Core Team (1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022)
(Hvis ikke hadde ingen likt R..)
Laste ned begge via Software Center
Installere
Åpne denne fila
Se også nederst for flere ressurser
RStudio gjør det lettere å jobbe i R.
RStudio har mange ulike støttefunksjoner man ikke klarer seg uten
Ikke bruk “R” aleine.
(Regnbueparenteser er lurt)
Syntaksfeltet ligger øverst til venstre som standard
Nederst til venstre ligger console. Der kommer outputen når man kjører kode
Nederst til høyre er det også flere faner:
Filer viser mappa dere er i (ikke sikkert det er mappa R forholder seg til)
Plot viser figurene dere har laget.
Packages viser alle pakkene dere har.
Help viser hjelpedokumenter
Viewer viser tabeller fra noen pakker
Parentesfeil (på med brillene!)
Kjøre enkeltelementer (merk og ctrl enter)
Ignorere feilmeldinger i blant, ofte bedre å undersøke koden enn å prøve å forstå..
Prosjekter gjør det lettere å laste inn filer
Prosjekter samler koden i en mappe
Prosjekter kan åpnes og man hopper tilbake til der man var
Prosjekter ligger helt øverst til høyre
Oppgave: Lage prosjekt
R er egentlig en forvokst kalkulator
Control + enter kjører den markerte koden eller kodelinja du står på
Dette er en rmarkdown-fil. R-koden lever i egne “chunker” som den rett under her
# Her kan man skrive R-kode
# Firkant lager kommentarer
# Stå under og trykk control (ctrl) + enter/linjeskift
1+1
# R kjører så langt som det er nødvendig.
#Hvis koden ser ut til å fortsette
# kjører R koden videre:
#prøv:
1+
10
# eller denne:
(55
#Det kan til og med være kommentarer imellom
-1)
For å lagre (innen R) må man bruke lagrepila <-
Alt og - lager lagrepila som lagrer i objekter: objekt <- kode du vil lagre
# Dette er kommentert tekst. Det blir ikke kjørt
resultat <- 44-11
# R bryr seg ikke om tall er tall
# eller objekter som representerer tall:
resultat2 <- resultat + 11
#Her er det noe galt som dere ser
# av den røde krysset til venstre.
#Det mangler noe som lagrer i resultat3.
#Stå til høyre for resultat3 og trykk alt og - samtidig:
resultat3 <- 44-2
#Ser dere "filene" bli lagret i "Environment" til venstre?
Man kan zoome inn i RStudio med ctrl + eller ut med ctrl -
Hvis alt blir feil kan man skru tilbake med ctrl 0
Vi kommer tilbake til pipe %>% men man lager den med ctrl shift M
Vi kjører alt inne i en chunk med Control alt c
Hva skjer hvis dere merker kode og trykker Control shift c?
123 + 123123
[1] 123246
install.packages("pakke")
. Vi bruker gåseøyne rundt pakkenavnet siden det er tekst.library(pakke)
eller library("pakke")
.# Merk linjene under og bruk control shift c
# til å fjerne kommentarfirkanten.
#Det ikke nødvendig å installere pakker
# når man allerede har gjort det.
# install.packages("here")
# install.packages("tidyverse")
Haven
-pakka har for eksempel read_sav()
eller read_dta()
De mest vanlige «filtypene» i R er:
alder <-c(0,30,10)
kjonn<- c("m", "m", "f")
20:55
tabell <-cbind(alder, kjonn)
alle_data <-list(tabell, alder, kjonn,"Lister blir ofte rotete")
Filer kan man som regel subsettes med brakker [] og nummer eller navn
alder[3]
kjonn[3]
tabell[3, 1] gir deg det tredje elementet i den første kolonnen
Ev. tabell[2, “alder”]
tabell[rad, kolonne]
Lister subsettes med doble brakker [[ ]]
Liste[[3]] gir deg det tredje elementet i en liste
alle_data[[44]] <- "bla bla"
alle_data[[3]]
alle_data[["Tabell"]]
For tabeller er det vanlig å hente ut kolonner/variabler med $. Da får man en rekke
Dette gjør det lett å søke blant variablene i en tabell. Skriv tabellnavnet og $ og trykk tab
tabell$Alder
Vi kan også bruke TRUE og FALSE
tabell[c(FALSE, TRUE, FALSE), "Alder"]
tabell[tabell$Alder>0, "Alder"]
I tabeller er det særlig fire typer elementer
Tall (numeric): 1337
Ord/Character: “ord” eller “1337”
factor har ulike nivåer. Nivåene har både nivå og beskrivelse (label)
Logisk (logical) FALSE
# Vi kan bytte mellom:
storre_enn_fem<- tabell$Alder > 5
# TRUE blir forstått som 1 når man regner
# og FALSE som 0
sum(storre_enn_fem,na.rm=T)
as.character(tabell$Kjonn)
as.numeric(tabell$Kjonn)
Factorer hjelper oss når vi skal gjøre regresjoner med variabler på nominalnivå dvs. grupper som kjønn eller land
Hvis vi lager en factor vil den første nivået være referansekategori
Vi kan bruke funksjonen relevel() til å velge ny referansekategori
R dikotomiserer automatisk factorer
#Bruk relevel til å gjøre mann til
# referansekategori i tabell$Kjonn
Programmer bruker parentes. Inne i parentesen spesifiserer man hva man vil at programmet skal gjøre.
?round
??round
#Her er det altfor mange desimaler R
# må hjelpe oss:
#round( og tab er også nyttig
0.345436598763457834
%>%
== er lik
!= er ulik
| eller
& og
%in% i en rekke
30 %in% tabell$Alder
tabell$Alder == 30
tabell$Alder != 0
tabell$Alder <= 10
tabell$Alder == 0
tabell$Alder <= 10 & tabell$Alder >0
tabell$Alder <= 5 | tabell$Alder >25
# vi kan bruke dette til å subsette datasett:
tabell[tabell$Alder < 5 | tabell$Alder >=25,]
1+1
2+1
3+1
4+1
1+1
2+1
3+1
4+1
tall<-1:10000000
tall+1
rm(tall)
Rstudio har mange cheat sheets som er nyttige
Tidyverse har mye dokumentasjon og innføringer
Hver enkelt pakke har også egne innføringer. For eksempel dplyr og purrr
R for data science er skrevet av folkene bak tidyverse og ligger ute gratis
Noen ganger kommer tidyverse til kort. data.table er en pakke som gjør det enkelt å jobbe med store datasett (dvs. registerdata)
Heldigvis kan man bruke tidyverse-syntax med data.table hvis man bruker dtplyr eller tidytable
For attribution, please cite this work as
Solheim (2022, Sept. 21). Solheim: R-kurs 1: Hvordan komme igang med R. Retrieved from https://www.oyvindsolheim.com/code/R kurs runde 1/
BibTeX citation
@misc{solheim2022r-kurs, author = {Solheim, Øyvind Bugge}, title = {Solheim: R-kurs 1: Hvordan komme igang med R}, url = {https://www.oyvindsolheim.com/code/R kurs runde 1/}, year = {2022} }